The World Wide Web involves a network of servers on the Internet, each of which is associated with one or more Hypertext Markup Language (HTML) pages. The HTML pages associated with a server provide information and hypertext links to other documents on that or other servers. Servers communicate with clients by using the Hypertext Transfer Protocol (HTTP). Users of the World Wide Web use a client program, referred to as a browser, to request, decode and display information from servers. When the user of a browser selects a link on an HTML page, the browser that is displaying the page sends a request over the Internet to the server associated with the Universal Resource Locator (URL) specified in the link. In response to the request, the listener transmits the requested information to the browser that issued the request. The browser receives the information, presents the received information to the user, and awaits the next user request.
The HTML standard is one application of a more general markup language standard called the Standard Generalized Markup Language (SGML). Recently, a subset of SGML that is more powerful and flexible than HTML has been defined and has gained popularity for providing information on the Internet. The new standard, developed and promoted by the World Wide Web Consortium (W3C), is called the Extensible Markup Language (XML). XML provides a common syntax for expressing structure in data. Structured data refers to data that is tagged for its content, meaning, or use. XML provides an expansion of the tagging that is done in HTML, which focuses on format or presentation. Given the elements defined and used by XML, a document object model (DOM) is used to define how to access the information in the XML documents. Using the DOM, programmers can script dynamic content to cause a specific piece of content to behave in certain way. For example, a piece of text may change color when a user positions a cursor over the text.
Scalable vector graphics (SVG) is a language for describing two-dimensional graphics in XML. The language is presently under development by W3C. SVG has many advantages over image formats most commonly used currently on the World Wide Web. SVG files are expressed with plain text that describes the various strokes and processing techniques used to construct a graphical representation. Such a description of graphic content is called a vector format and is distinguished from raster or bitmapped formats which describe individual picture elements (pixels) by the intensity of one or more colors for a two dimensional array of pixels. Because SVG files are text, they can be made or modified by a large number of text manipulation tools. SVG files are smaller and more compressible than raster file formats. Because SVG is a vector format the graphics can be scaled to any size display without producing the stair-stepped lines or edges common in bitmapped images. For related reasons, SVG allows unrestricted zooming and panning. In addition, the text in SVG graphics is selectable and searchable, while finding text in a bitmapped images requires an optical character recognition process that does not work in all circumstances. Also, SVG is an open standard and not proprietary. In addition, SVG offers all the advantages of XML. It is anticipated that SVG will be widely used to generate graphical representations that can be transferred from server to client over the Internet.
While SVG can be used for a variety of applications, there are currently only a few applications. Particularly lacking are applications to chart complex data using SVG as a rendering tool and to interact with the data across the World Wide Web using the SVG rendering as a thin graphical interface. For example, an application is not available for charting network topology using SVG and managing the network through the SVG rendering in a client process. Neither is an application available using SVG files for utilizing information in a geographical information system (GIS).
Performing the same functions over the World Wide Web without SVG files suffer other disadvantages. Raster files are large and consume considerable bandwidth to transmit over the Web. In addition, raster files are not easily searched for text. Such searching is useful, for example, when a user wants to find a particular device in the network. Downloading an application to run from the browser can provide the functionality desired, but the application will consume considerable computational resources on the client machine.
Based on the foregoing, there is a clear need in this field for techniques to utilize the advantages of SVG files for passing graphical information over a network to a client in order to allow the client to interact with extensive, complex information residing in a resource on a server on the network.